package sige

class SemestreService {

    def verificarDatas(Semestre semestre) {
        if(semestre == semestre.ano.semestre_2){
            if(semestre.dataDeInicio <= semestre.ano.semestre_1.dataDeFechamento){//A data do segundo semestre não poderá ser inferior ao primeiro semestre
                return semestre.errors.rejectValue('dataDeInicio', 'semestre.dataDeInicio.invalid.choqueSemestres', 'Erro entre datas')
            }
        }else if(semestre.dataDeInicio > semestre.dataDeFechamento){//A data de inicio do semestre não poderá ser superior que a data de fechamento do próprio semestre
            return semestre.errors.rejectValue('dataDeInicio', 'semestre.dataDeInicio.invalid.choqueInicioFechamento', 'A data de inicio é superior que a data de fechamento deste semestre-PADRAO')
        }else if(semestre.dataDeInicio < semestre.ano.dataDeInicio){//A data de inicio do semestre não poderá ser inferior a data de inicio do ano letivo
            return semestre.errors.rejectValue('dataDeInicio', 'semestre.dataDeInicio.invalid.inferiorAno', 'Erro entre datas')
        }else if(semestre.dataDeFechamento > semestre.ano.dataDeFechamento){//A data de fechamento do semestre não poderá ser superior a data de fechamento do ano letivo
            return semestre.errors.rejectValue('dataDeInicio', 'semestre.dataDeInicio.invalid.superiorAno', 'A data de inicio é superior que a data de fechamento deste semestre-PADRAO')
        }
        return true
    }
    
}
